package com.dnjn.happiness.emo.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dnjn.happiness.emo.domain.UserRecordFer;
import com.dnjn.happiness.emo.domain.vo.UserRecordFerExportVo;

import java.time.LocalDate;
import java.util.List;

/**
 * 用户AI情绪userRecordFerService接口
 * 
 * @author amber
 * @date 2023-12-04
 */
public interface IUserRecordFerService  extends IService<UserRecordFer>
{


    Double getAIHappinessScores(Long userId, String time);

    Page<UserRecordFer> getPage(UserRecordFer userRecordFer,Page page);


    Page<UserRecordFer> selectAi(Long userId, String emotionCode, String startTime, String endTime, Page page);

    Page<UserRecordFer> selectAiPage(UserRecordFer vo, Page page);

    List<UserRecordFer> selectStaleRecord();

    List<UserRecordFerExportVo> getExportList(UserRecordFer vo);

    boolean createOrUpdate(UserRecordFer record);

    List<UserRecordFer> listAll(UserRecordFer userRecordFer);

    void updateEmotionCode(List<UserRecordFer> recordFerList);

    void updateFerCountFailed(List<Long> unFerIdList);

    boolean hasClockInYesterday(Long userId);

    boolean removeByUserInfoAndCurrDate(Long userId, LocalDate currDate);

    void asyncFetchFer(UserRecordFer record);


}
